package cn.tedu.storage.mapper;

import cn.tedu.storage.entity.Storage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;

/**
 * 商品操作
 *
 * @author 郭鲁政
 */
public interface StorageMapper extends BaseMapper<Storage> {
    /**
     * 扣减商品
     *
     * @param productId 商品 ID
     * @param count     扣减数量
     */
    void decrease(Long productId, Integer count);

    /**
     * 查询商品数量
     * @param productId
     * @return
     */
    Storage selectByProductId(Long productId);

    /**
     * 商品变成冻结状态
     * @param productId 商品ID
     * @param count 数量
     */
    void updateResidueToFrozen(Long productId, Integer count);

    /**
     * 商品变成已消费
     * @param productId 商品ID
     * @param count 数量
     */
    void updateFrozenToUsed(Long productId, Integer count);

    /**
     * 商品消除冻结状态
     * @param productId 商品ID
     * @param count 数量
     */
    void updateFrozenToResidue(Long productId, Integer count);
}
